﻿--Vista usada para la impresion de catalogos
CREATE OR REPLACE VIEW pca_almacen.vw_catalogo_articulos_generales AS
SELECT
	a.articulo_id,
	a.nombre_familia,
	a.nombre_sub_familia,
	a.nombre_marca,
	a.cod_interno,
	a.cod_barras,
	a.nombre_corto,
	a.descripcion,
	a.keywords,
	a.fecha_registro,
	a.activo,
	CASE WHEN f.ruta ISNULL THEN '/Content/images/SinFoto.png'
		ELSE f.ruta
	END :: varchar	AS foto
FROM
	pca_almacen.articulos a
LEFT JOIN
	(SELECT 
		articulo_id,
		ruta 
	FROM 
		pca_almacen.fotos 
	WHERE
		predeterminado = true
	) AS f
ON
	(a.articulo_id=f.articulo_id)
WHERE
	a.tipo_articulo_id = 0
ORDER BY
	a.fecha_registro;

CREATE OR REPLACE FUNCTION pca_almacen.fn_get_catalogo_articulos_generales()
					RETURNS SETOF pca_almacen.vw_catalogo_articulos_generales AS
$$
DECLARE
	_row pca_almacen.vw_catalogo_articulos_generales%ROWTYPE;
BEGIN
	FOR _row IN
		SELECT * FROM pca_almacen.vw_catalogo_articulos_generales
	LOOP
		RETURN NEXT _row;
	END LOOP;
END;
$$
LANGUAGE plpgsql;
